Identifier technique for communication interchange

ABSTRACT

A method and a communication interchange enhancement system for implementing an enhanced user interface for a communication interchange includes but is not limited to a method including to providing an identifier associated with a third-party participant related to the communication interchange; matching the identifier with the third-party participant in a database storing one or more lists of possible third-party participants; obtaining context data associated with the identifier regarding a group-type characteristic of the third-party participant for purposes of communication interchange with at least another participant; and enabling a user interface to display the group-type characteristic.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to and claims the benefit of theearliest available effective filing date(s) from the following listedapplication(s) (the “Related Applications”) (e.g., claims earliestavailable priority dates for other than provisional patent applicationsor claims benefits under 35 USC §119(e) for provisional patentapplications, for any and all parent, grandparent, great-grandparent,etc. applications of the Related Application(s)).

RELATED APPLICATIONS

For purposes of the USPTO extra-statutory requirements, the presentapplication constitutes a continuation-in-part of United States patentapplication entitled CONTEXT PARAMETERS AND IDENTIFIERS FORCOMMUNICATION, naming Alexander J. Cohen, Edward K. Y. Jung, Royce A.Levien, Robert W. Lord, Mark A. Malamud, William Henry Mangione-Smith,John D. Rinaldo Jr., and Clarence T. Tegreene as inventors, filed 18Aug. 2006, Ser. No, 11/506,415, which is currently co-pending, or is anapplication of which a currently co-pending application is entitled tothe benefit of the filing date.

The United States Patent Office (USPTO) has published a notice to theeffect that the USPTO's computer programs require that patent applicantsreference both a serial number and indicate whether an application is acontinuation or continuation-in-part. Stephen G. Kunin, Benefit ofPrior-Filed Application, USPTO Official Gazette Mar. 18, 2003, availableat http://www.uspto.gov/web/offices/com/sol/og/2003/week11/patbene.htm.The present applicant entity has provided above a specific reference tothe application(s)from which priority is being claimed as recited bystatute. Applicant entity understands that the statute is unambiguous inits specific reference language and does not require either a serialnumber or any characterization, such as “continuation” or“continuation-in-part,” for claiming priority to U.S. patentapplications. Notwithstanding the foregoing, applicant entityunderstands that the USPTO's computer programs have certain data entryrequirements, and hence applicant entity is designating the presentapplication as a continuation-in-part of its parent applications as setforth above, but expressly points out that such designations are not tobe construed in any way as any type of commentary and/or admission as towhether or not the present application contains any new matter inaddition to the matter of its parent application(s).

All subject matter of the Related Applications and of any and allparent, grandparent, great-grandparent, etc. applications of the RelatedApplications is incorporated herein by reference to the extent suchsubject matter is not inconsistent therewith.

BACKGROUND

The present application relates generally to various user interfacefeatures for communication interchanges.

SUMMARY

In one aspect, a method for implementing an enhanced user interface fora communication interchange includes but is not limited to providing anidentifier associated with a third-party participant related to thecommunication interchange; matching the identifier with the third-partyparticipant in a database storing one or more lists of possiblethird-party participants; obtaining context data associated with theidentifier regarding a group-type characteristic of the third-partyparticipant for purposes of communication interchange with at leastanother participant; and enabling a user interface to display thegroup-type characteristic. In addition to the foregoing, other methodaspects are described in the claims, drawings, and text forming a partof the present application.

In another aspect, a method for a communications device includes but notlimited to matching an identifier associated with a communicationrequest with one or more associations in a database; organizing the oneor more associations according to one or more types of associations; andenabling display of the one or more types of associations on thecommunications device in a visual display for a user interface toprovide supplemental information concerning a caller associated with theidentifier. In addition to the foregoing, other method aspects aredescribed in the claims, drawings, and text forming a part of thepresent application.

In another aspect, a computer program product includes but is notlimited to a signal bearing medium bearing at least one of one or moreinstructions for providing an identifier associated with a third-partyparticipant related to the communication interchange; one or moreinstructions for matching the identifier with the third-partyparticipant in a database storing one more lists of possible third-partyparticipants; one more instructions for obtaining context dataassociated with the identifier regarding a group-type characteristic ofthe third-party participant for purposes of communication interchangewith at least another participant; and one or more instructions forenabling a user interface to display the group-type characteristic. Inaddition to the foregoing, other computer program product aspectsdescribed in the claims, drawings, and text forming a part of thepresent application.

In another aspect, a computer program product includes but is notlimited to a signal bearing medium bearing at least one of one or moreinstructions for one or more instructions for matching an identifierassociated with a communication request with one or more associations ina database; one or more instructions organizing the one or moreassociations according to one or more types of associations; and one ormore instructions enabling display of the one or more types ofassociations on the communications device in a visual display for a userinterface to provide supplemental information concerning a callerassociated with the identifier. In addition to the foregoing, othercomputer program product aspects are described in the claims, drawings,and text forming a part of the present application.

In another aspect, a communication interchange enhancement systemincludes but is not limited to a processor; a memory coupled to theprocessor; a database coupled to the processor, the database configuredto store one or more associations and/or one or more types ofassociations and/or one or more lists of possible third-partyparticipants of a communication interchange; a matching module coupledto the processor and the database, the matching module configured tomatch a received identifier with the one or more associations and/or theone or more types of associations, and/or the one or more lists of thirdparty participants in the database; and an organizational module coupledto the processor, the organizational module configured to organize theone or more associations according to one or more group-typecharacteristics and/or types of associations in the database to enable auser interface to provide supplemental information concerning a callerassociated with the received identifier.

In one or more various aspects, related systems include but are notlimited to circuitry and/or programming for effecting theherein-referenced method aspects; the circuitry and/or programming canbe virtually any combination of hardware, software, and/or firmwareconfigured to effect the herein-referenced method aspects depending uponthe design choices of the system designer. In addition to the foregoing,other system aspects are described in the claims, drawings, and textforming a part of the present application.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, farther aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the subject matter of the application can beobtained when the following detailed description of the disclosedembodiments is considered in conjunction with the following drawings, inwhich:

FIG. 1 depicts an exemplary environment in which the methods and systemsdescribed herein may be represented;

FIG. 2 is a block diagram of an exemplary computer architecture thatsupports the claimed subject matter of the present application;

FIGS. 3A-3D illustrate a flow diagram of a method in accordance with anembodiment of the subject matter of the present application; and

FIGS. 4A and 4B illustrate a flow diagram of a method in accordance withan embodiment of the subject matter of the present application.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings, which form a part hereof. In the drawings,similar symbols typically identify similar components, unless contextdictates otherwise. The illustrative embodiments described in thedetailed description, drawings, and claims are not meant to be limiting.Other embodiments may be utilized, and other changes may be made,without departing from the spirit or scope of the subject matterpresented here.

In the description that follows, the subject matter of the applicationwill be described with reference to acts and symbolic representations ofoperations that are performed by one or more computers, systems,telephone systems, mobile devices and the like unless indicatedotherwise. As such, it will be understood that such acts and operations,which can be referred to as being computer-executed, include themanipulation by the processing unit of the computer of electricalsignals representing data in a structured form. This manipulationtransforms the data or maintains it at locations in the memory system ofthe computer which reconfigures or otherwise alters the operation of thecomputer in a manner well understood by those skilled in the art. Thedata structures where data is maintained can include physical locationsof the memory that have particular properties defined by the format ofthe data. However, although the subject matter of the application isbeing described in the foregoing context, it is not meant to be limitingas those of skill in the art will appreciate that some of the acts andoperations described hereinafter can also be implemented in hardware,software, and/or firmware and/or some combination thereof.

Referring now to FIG. 1, a block diagram depicts one or more exemplaryenvironments in which the methods and systems described herein may berepresented. Principal participant 102 may be a person and/or an entitycapable of communicating with other persons and/or entities. Theprincipal participant 102 may include but is not limited to a singleperson, a group of two or more persons associated for the purpose of acommunication (e.g., a group of three persons communicating with anotherperson and/or group of persons to arrange a meeting), and/or one or morepersons of a group of persons associated for one or more purposes orreasons (e.g., an employee or employees of a corporation, or members ofa family) some or all of whom may participate in a communication onbehalf of the association.

Third party participant 104 may be a person and/or an entity capable ofcommunicating with other persons and/or entities. Third partyparticipant 104 may include but is not limited to a single person, agroup of two or more persons associated for the purpose of acommunication (e.g., a group of three persons communicating with anotherperson and/or group of persons to arrange a meeting), and/or one or morepersons of a group of persons associated for one or more purposes orreasons (e.g., an employee or employees of a corporation, or members ofa family), some or all of whom may participate in a communication onbehalf of the association.

A communication or other event may take place between the principalparticipant 102 and the third party participant 104 that prompts theprincipal participant 102 to define a communications context forcommunications with the third party participant 104. Such communicationmay take place using means including but not limited to telephony (usingthe public switched telephone system, the Internet (e.g., Voice overInternet Protocol), satellite communication systems, instant and/or textmessaging, and/or electronic mail (“email”). Systems 106 represent anysystems comprising one or more communications devices, including but notlimited to a telephone, a Voice over Internet Protocol (“VoIP”)endpoint, a computer running email and/or instant messaging software,and/or a personal digital assistant and/or a cell phone running textmessaging software. The systems 106 are illustrated in the exemplaryenvironment 100 in close physical proximity to the principal participant102 and the third party participant 104. Those skilled in the art willappreciate that one or more of the devices included in the systems 106may be relatively distant but operably coupled to one or more devicesincluded in the systems 106 and in physical proximity to the respectiveentities with which the systems 106 are associated (principalparticipant 102 and the third party participant 104). The systems 106may be operably coupled via the internet, represented in the exemplaryenvironment 100 by the network 108, or by other communication linksrepresented by the telephone system 110, or by some combination of thenetwork 108 and the telephone system 110. The operable couplings betweenthe systems 106 may be physical connections, e.g., wires end/or cablesand/or fiber-optic lines, or wireless connections, e.g., radio-frequencyconnections between cell phone and cell network towers, satellite towersand/or some combination of physical connections and wirelessconnections.

With reference to FIG. 2, depicted is a computing system 106 a whichcould be a computer configured as one of the systems 106 depicted inFIG. 1, a server coupled to other systems 106, or a communicationdevice. Computer 106 could be configured as a server for a networkprovider or as a communication device as described below. FIG. 2includes a computer system 106, including a processor 210, memory 220and one or more drives 230. The drives 230 and their associated computerstorage media, provide storage of computer readable instructions, datastructures, program modules and other data for computer system 106.Drives 230 can include an operating system 240, user interface program250, matching module 260 and organizational module 261, and database280. Computer system 106 further includes user input devices 290 throughwhich a user may enter commands and data. Input devices can include amicrophone 291, a keyboard 293, and pointing device, commonly referredto as a mouse 292. Other input devices may include an electronicdigitizer, a trackball, a touch pad, a joystick, a game pad, a satellitedish, a scanner, or the like.

These and other input devices can be connected to processor 210 througha user input interface such as user input devices 290 that is coupled toa system bus 299, but may be connected by other interface and busstructures, such as a parallel port, a game port or a universal serialbus (USB) or network interface 296. Computers such as computer system106 may also include other peripheral output devices such as display 263and speakers, which may be connected through an output peripheralinterface 295 or the like. More particularly, output devices can includepersonal digital assistant type devices networked to computer system 106to enable on-the-fly functional assistance. In one embodiment, display263 is incorporated into a communication/telephone device. In anotherembodiment, computer system 106 functions primarily as acommunication/telephone device,

Computer system 106 may operate in a networked environment 108 a such asnetwork 108 shown in FIG. 1 using logical connections to one or morecomputers, such as a remote computer 298 connected to network interface296 via network 297. Remote computer 298 may be a personal computer, aserver, a router, a network PC, a peer device or other common networknode, and/or a remote telephone system, such as telephone system 110shown in FIG. 1, and can include many or all of the elements describedabove relative to computer system 106. Networking environments arecommonplace in offices, enterprise-wide computer networks, intranets andthe Internet. For example, in the subject matter of the presentapplication, computer system 106 may comprise the source machine fromwhich data is being migrated, and the remote computer may comprise thedestination machine. Note however, that source and destination machinesneed not be connected by a network or any other means, but instead, datamay be migrated via any media capable of being written by the sourceplatform and read by the destination platform or platforms. When used ina local area network (hereinafter referred to as “LAN”) or a wide areanetwork (hereinafter referred to as “WAN”) networking environment,computer system 106 is connected to the LAN through a network interface296 or an adapter. When used in a WAN networking environment, computersystem 106 typically includes a modem or other means for establishingcommunications over the WAN, such as the Internet. It will beappreciated that other means of establishing a communications linkbetween the computers may be used.

Following are a series of flowcharts depicting implementations ofprocesses. For ease of understanding, the flowcharts are organized suchthat the initial flowcharts present implementations via an overall “bigpicture” viewpoint and thereafter the following flowcharts presentalternate implementations and/or expansions of the “big picture”flowcharts as either sub-stops or additional steps building on one ormore earlier-presented flowcharts. Those having skill in the art willappreciate that the style of presentation utilized herein (e.g.,beginning with a presentation of a flowchart(s) presenting an overallview and thereafter providing additions to and/or further details insubsequent flowcharts) generally allows for a rapid and easyunderstanding of the various process implementations. In addition, thoseskilled in the art will further appreciate that the style ofpresentation used herein also lends itself well to modular and/orobject-oriented program design paradigms.

Referring now to FIG. 3, an exemplary flow diagram illustrates a methodin accordance with an embodiment for a communication interchange. Block310 provides for providing an identifier associated with a third-partyparticipant related to the communication interchange (e.g., system 106,network 108, or telephone system 110 providing an identifier related toa communication interchange). For example, a caller associated with acommunication interchange could transmit an identifier identifyinghimself. The identifier could be passed prior to a full connection tothe communication interchange or during depending on system specifics ofthe caller.

Depicted within block 310 is optional block 3102 which provides forproviding the identifier in a data packet over a communications network(e.g. an identifier 262 passing through network 297). An identifiercould be embedded in an asynchronous transfer mode (ATM) data packetover a telephone system, or embedded in a data packet for a wirelessprotocol or the like.

Depicted within block 310 is optional block 3104, which provides forproviding the identifier over a communications network during one ormore of a real-time voice conversation, a conference call, a voice mailaccess, an instant messaging session, an internet chat session, a voicemail transfer, a voice mail interchange a conversion of a voice mail toa text message, and/or a conversion of a text message to a voicemessage, (e.g. network 297 supplying identifier 262 during ascommunication interchange). The communication interchange can be overover communication network that supports conferencing, instantmessaging, text to voice conversion and the like such that theidentifier can be provided to a system such as system 106 during one ofmany types of communication interchanges.

Further depicted within block 310 is optional block 3106 which providesfor providing the identifier as a caller identifier (CID) over acommunications network (e.g., communication network 297 providingidentifier 262 as a CID type identifier). For example, a telephonesystem can include the ability to transmit and receive calleridentification. Embodiments herein can use the CID identifier,

Block 320 is coupled to block 310 and provides for matching theidentifier with the third-party participant in a database storing one ormore lists of possible third-party participants, (e.g., matchingidentifier 262 in matching module 260 one or more associations indatabase 280). The matching module 260 can be configured to work withdatabase 280 to enable received identifiers 262 to be parsed to find theassociations.

Depicted within block 320 is optional block 3202 with provides forconveying an alphanumeric matching of the identifier includingstatistical probabilities for a match from the database storing the oneor more lists of possible third-party participants (e.g., system 106conveying an alphanumeric matching using matching module 260 anddatabase 280). In one embodiment, the matching module 260 performs analphanumeric matching such that associations are found in database 280by locating matching names and/or numbers received via identifier 262.

Block 320 is coupled to block 330 which provides for obtaining contextdata associated with the identifier regarding a group-typecharacteristic of the third-party participant for purposes ofcommunication interchange with at least another participant (e.g.,system 106 obtaining context data associated with identifier 262regarding group-type characteristics of third party participant 104 fora communication interchange with principal participant 102. In oneembodiment, the system 106 can be a telephone system operated by aprincipal participant. For example, principal participant 102 coulddetermine whether or not to participate in a communication interchangeaccording to information concerning groups in which the third-partyparticipant is a member.

Depicted within block 330 is optional block 3302, which provides forgenerating the context data by extracting from the database one or moregroups of which the third party participants is a member (e.g. system106 generating the context data by extracting from database 280 one ormore groups of which the third-party participant is a member by etchingmodule 260). Depicted within block 3302 is optional block 33022 whichprovides for extracting from the database the one or more groups ofwhich the third party participant is a member wherein the third partyparticipant is a sole member of a given group in the one or more groupsand/or the third party participant is one of a plurality of members of agiven group of the one or more groups (e.g., database 280 and matchingmodule 260 extracting the one or more groups and determining that thethird-party participant is a solo member, or one of many members of agroup identified in database 280). For example, if a potential caller(third-party participant 104) contacts another party within anorganization, the receiving party (principal participant 102) candetermine the nature of the call by first finding groups within theorganization with which the caller is a member. The group can be adepartment within the organization, such as accounting, payroll,benefits, human resources, or the like. The information on the group towhich the caller belongs can therefore assist the receiving party indetermining, for example, the importance of the call.

Depicted within block 330 is optional block 3304 which provides forgenerating the group-type characteristic of the third-party participantby searching one or more of the database storing one or more lists ofpossible third-party participants, a computing device coupled to one ormore participants of the communication interchange, and/or a servercoupled to the communications network (e.g., system 106 generating thegroup-type characteristic of the third-party participant 104 bysearching database 280, searching another system 106 coupled via network108, searching telephone system 110, and/or searching a system 106configured as a server).

Block 330 also includes optional block 3306 which provides fordisplaying the context data associated with the identifier regarding thegroup-type characteristic of the third-party participant during amessage composition (e.g., display 263 displaying the context datasupplied by database 280). The display 263 can be incorporated into atelephone, or can be part of a digital assistant coupled to acommunication device over a wireless connection or the like. Thus,during a communication interchange, the context data can be transmittedto a device for display that is not directly coupled to a telephone orother device that a principal participant is operating.

Block 130 includes optional block 3308 which provides for providing anoption to allow display of the context data to the at least anotherparticipant of the communication interchange (e.g., system 106 providingan option via processor 210 and either or both of network 108 andtelephone system 110 to transmit and permit display of the context datafor other participants to a communication interchange, such as anotherthird-party participant 104). In some instances, the context data couldprovide information regarding a caller that each of the third-partyparticipants to a communication interchange should know about Forexample, if time is of the essence with regard to a decision pertainingto a third-party participant, sharing on concerning context data of acaller could be paramount. In one embodiment, therefore, system 106provides near real-time transmission of the context data to any otherparticipants chosen by the primary participant to the communicationinterchange.

Within optional block 3308 is optional block 33082 which provides forproviding the option to allow display of the context data during one ormore of a conference call, an interact chat, and/or a conversation overa mobile communication network (e.g., system 106 providing an option viaprocessor 210 and either or both of network 108 and telephone system 110to transmit and allow display of the context data during thecommunication interchange, such as during a conference call, chatsession or over a mobile network, such as a mobile phone). For example,if system 106 is coupled to a display over output peripheral interface295 directly or over a network such as network 108 or the like, thecontext data could be provided to different types of communicationinterchanges. Additionally, if the principal participant 102 is involvedin a conference call, system 106 can provide information to theprincipal participant 102 during the conference to enable the principalparticipant 102 to make a decision concerning adding the third-partyparticipant 104 to the conference.

Block 330 also depicts optional block 3309 within block 330. Block 3309provides for generating the context data by extracting from the databaseone or more group-type characteristics shared by the third-partyparticipant and the at least another participant (e.g., system 106generating the context data using database 280 and matching module 260to determine which group-type characteristics are shared by the thirdparty participant 104 and another participant). For example, during aconference call, principal participant 102 could receive a call andcould direct an assistant or the like to only allow those calls thatshare a group-type characteristic to interrupt the conference call.Depicted within block 3309 is optional block 309 which provides forextracting the one or more group-type characteristics shared by thethird-party participant and the at least another participant includingan indication of one or more of a familial relationship, a workrelationship, an educational relationship, a contact relationship, asales relationship, a network relationship, an environmentalrelationship, a proximity relationship, a contrary relationship, areligious relationship, a fiduciary relationship, and/or a politicalrelationship (e.g., system 106 and matching module 260 extracting fromdatabase 280 which group-type characteristics are shared by thethird-party participant 104 and another participant to determine whatkind of relationship a caller might have to the principal participant102). For example, the database could have context data concerning acaller that includes a plurality of different relationships a callercould have to the principal participant 102. Each of the relationshipscould be identified and displayed for use by the principal participant102.

Block 340 is illustrated coupled to block 330. Block 340 provides forenabling a user interface to display the group-type characteristic(e.g., user interface program 250 and processor 210 enabling outputperipheral interface 295 to display on display 263 the group-typecharacteristics determined in database 280 and matching module 260).

Depicted within block 340 is optional block 3401 which provides forinstantiating the user interface as a pop-up display during thecommunication interchange (e.g., system 106 and user interface program250 enabling display 263 to display the context data in a pop-updisplay). For example, in one embodiment, the system 106 is a serviceprovider that sends data across output peripheral interface 295 to userscoupled via a network such as network 108 or the like. Alternatively,display 263 is coupled directly to system 106 such that the pop-updisplay occurs without a network connection.

Also depicted within block 340 is optional block 3402 which provides forenabling display of the group-type characteristic to the at leastanother participant when the at least another participant is a recipientin the communication interchange (e.g., enabling output peripheralinterface 295 to display on display 263 the group-type characteristicsdetermined in database 280 and matching module 260). In an embodiment,the determination of the group-type characteristic can be performed on asystem 106 that receives the identifier 262, and passes the group-typecharacteristic to another system 106 or to a display coupled to a system106.

Also depicted within block 340 is optional block 3403, which providesfor displaying the group-type characteristic to two or more participantsof the communication interchange (e.g., display 263 displaying thegroup-type characteristic of two or more participants such as primaryparticipant 102 and third party participant 104).

Block 340 further includes optional block 3404, which provides forproviding an interactive option to the user interface to enable addingand/or commenting on the group-type characteristic (e.g., user interfaceprogram 250 including an interactive option to enable adding and/orcommenting on the group-type characteristic determined in matchingmodule 260).

Block 340 further includes optional block 3405, which provides forenabling the user interface to allow selectively generating thegroup-type characteristic from the context data (e.g., providing thatuser interface program 250 allow a primary participant 102 toselectively generate the group-type characteristic determined fromdatabase 280). For example, a primary participant 102 could beinteresting in certain types of callers to an ongoing conference or thelike. If the primary participant 102 is only interested in people whoare members of particular group, then a filter could be applied to onlydisplay on the user interface program 250 only context data concerningcallers that belong to that particular group.

Block 340 further includes optional block 3406 which provides forenabling the user interface to allow input of context data to thedatabase before and/or during and/or after the communication interchange(e.g., enabling user interface program 250 to allow another participant,such as third party participant 104 to input new context data intodatabase 280 before, during or after a communication interchange). Forexample, a caller to a principal participant 102 could be missing fromdatabase 280 and denied an opportunity to participate in an instantmessaging session, conference call or the like and therefore would liketo add his data to the database to prevent such an occurrence fromrepeating. By adding context data relevant to a communicationinterchange with the principal participant 102, a third partyparticipant 104 could be allowed in a later or current interchange.

Also depicted within block 340 is optional block 3408 which provides forenabling the user interface to selectively generate the group-typecharacteristic from the context data (e.g., enabling user interfaceprogram 250 to allow principal participant 102 to be selectiveinteracting with group-type characteristics generated with database280). For example, a caller could be a member of a plurality of groupsabout which the principal participant 102 has no interest. Beingselective, principal participant 102 could determine which callers toaccept calls from based on the selected group-type characteristic.

Depicted within block 3408 is optional block 34082, which provides forenabling the user interface to selectively generate the group-typecharacteristic from the context data before and/or during and/or afterthe communication interchange (e.g., user interface program 250 allowprincipal participant 102 to selectively err which group-typecharacteristics generated with database 280 should be displayed orpassed to other participants before, during or after a communicationinterchange).

Block 340 further depicts optional block 3409 which provides forenabling the user interface to optionally display peripheral dataconcerning the group-type characteristic (e.g., user interface program250 displaying on display 263 peripheral data concerning the group-typecharacteristic generated from database 280). Block 3409 depicts optionblock 34092 which provides for enabling the user interface to displaydata concerning members of each group of which the third partyparticipant is a member (e.g., user interface program 250 enablingdisplay 263 to display data concerning peripheral data that includesdisplaying names of members of groups of which the third partyparticipant is a member). Block 34092 further depicts optional block340922 which provides for transmitting one or more of the dataconcerning members of each group of which the third party participant isa member and/or a pointer to a location on a device holding the dataconcerning the members of each group of which the third partyparticipant is a member (e.g., transmitting over network interface 296data concerning the members of the group to which the third partyparticipant 104 is a member, and/or transmitting over network interface296 a pointer or pointer location on another system 106 a location, suchas a location in database 280 where the data concerning the members ofthe group is located). For example, a database 280 in system 106 mayhave data that relates to member data in another database networked tosystem 106. According to an embodiment, the data in database 280 can beprovided to a participant that is connected with another telephonesystem or system 106 networked to system 106.

Also depicted in block 3409 is optional block 34094 which provides forenabling the user interface to display data concerning a number ofaccesses to the group-type characteristic of the third-party participant(e.g., the peripheral data concerning the group-type characteristiccould include a number of accesses to the database 280 where thegroup-type characteristic could be stored). Depicted in block 34094 isoptional block 340924 which provides for recording the number ofaccesses to the group-type characteristic over a period of time (e.g.,processor 210 recording using database 280 a number of accesses to thegroup-type characteristic over a period of time). For example, thedatabase could hold a counter to keep track of the number of accesses tothe group-type characteristic determined for each identifier receivedand operated on by matching module 260.

Referring now to FIG. 4, a flow diagram illustrates a method for acommunications device. The communications device could include one of asystem 106, illustrated in FIG. 1 and FIG. 2, or alternatively could bea device coupled to output peripheral interface 295. Block 410 providesfor matching an identifier associated with a communication request withone or more associations in a database (e.g., system 106, network 108,or telephone system 110 matching in matching module 260 the identifier262 with association in database 280). Block 410 depicts optional blocks4102 and 4104 therein. Block 4102 provides for receiving the identifieras a caller identifier (CID) over a communications network (system 106receiving identifier 262 as a CID over network 297). Block 4104 providesfor receiving the identifier from a network coupled to a serviceprovider associated with the communications device (e.g., networkcontroller 210 cooperating with a service provider or including asservice provider to receive the indication via network 220).

Block 420 is coupled to block 410 and provides for organizing the one ormore associations according to one or more types of associations (e.g.,organizational module 261 organizing the one or more types ofassociations in database 280). Depicted within block 420 is optionalblock 4202 which provides for organizing the one or more types ofassociations into one or more layers of abstraction including one ormore of a chronological layer of abstraction and a user-defined layer ofabstraction (e.g., organizational module 261 organizing the one or moreassociations in database 280 into layers of abstraction that include achronological layer and a user-defined layer). For example, the database280 could provide to organizational module 261 data that requiresfurther parsing to enable a user interface such as user interfaceprogram 250 to provide useful data. Layers of abstraction can furtherorganize associations by data or by another defined method according touser preference. Depicted within block 4202 is optional block 42022which provides for displaying the one or more layers of abstraction as asingle contextual visual display on the user interface (e.g., display263 displaying the layers of abstraction as a single visual display viauser interface program 250). In an embodiment, display 263 can displaythe different layers of abstraction as a single visual display byinterfacing via output peripheral interface 295 providing displayrequirements to user interface program 250.

Block 420 further includes optional block 4204 which provides forgenerating context data associated with the identifier to providesupplemental information regarding a group-type characteristic of athird-party participant to a principal participant of a communicationinterchange (e.g., processor 210 operating with database 280 usingorganizational module 261 and/or matching module 260 to generate contextdata associated with identifier 262 to provide supplemental informationregarding a group-type characteristic of third-party participant 104 toprincipal participant 102 during a communication interchange).

Block 420 is coupled to block 430 which provides for enabling display ofthe one or more types of associations on the communications device in avisual display for a user interface to provide supplemental informationconcerning a caller associated with the identifier (e.g., display 263displaying one or more types of associations determined for identifier262 via user interface program 250 operating with supplementalinformation concerning a caller, such as third party participant 104).User interface program 250 can enable display 263 to provide thesupplemental information upon a determination of the one or more typesof associations associated with identifier 262. For example, when acaller transfers an identifier as a CID or other format, the identifieris provided to organizational module 261 and matching module 260 toperform matching and to determine the one or more types of associations.The associations can be determined to be supplemental informationconcerning a caller appropriate for display. The supplementalinformation can then be displayed via user interface program 250 ondisplay 263.

Depicted within block 430 is optional block 4302 which provides forenabling display of the one or more types of associations in a singlecontextual display during one or more of a real-time voice conversation,a conference call, a voice mail access, a voice mail transfer, a voicemail interchange, a conversion of a voice mail to a text message, aconversion of a text message to a voice message (e.g., user interfaceprogram 250 enabling display on display 263 of the one or more types ofassociations in the single contextual display during one or more of areal-time voice conversation, a conference call, a voice mail access, avoice mail transfer, a voice mail interchange, a conversion of a voicemail to text message, a conversion of a text message to a voicemessage).

Depicted within block 430 is also optional block 4304 which provides forgenerating the display of the one or more types of associations viaextracting from the database one or more groups of which the caller is amember (e.g., user interface program 250 generating a single contextualdisplay 263 via extracting from database 280 the one or more groups forwhich third-party participant 104 is a member).

Also depicted within block 430 is optional block 4306 which provides forgenerating the visual display as a visual hierarchy in the userinterface via a search of one or more of a database storing one or morelists of possible third-party participants, a computing device coupledto one or more participants of the communication interchange, and/or aserver coupled to the communications network (user interface program 250generating a single contextual display 263 as a visual hierarchy viaprocessor 210 and organizational module 261 performing a search ofdatabase 280, and database 280 storing one or more lists of possiblethird-party participants 104, and/or performing a search of a computingdevice 106 coupled to one or more participants of the communicationinterchange, and/or a server 106 coupled to the communications network297).

Also depicted within block 430 is optional block 4307 which provides forproviding the supplemental information during one or more of aconference call, an internet chat, and/or a conversation over a mobilecommunication network (e.g., communications network 297 and/or system106 and/or user interface program 250 providing the supplementalinformation generated to principal participant 102 during acommunication interchange). For example, principal participant 102 canbe partaking in a communication interchange and user interface program250 can provide the supplemental information by enabling a visualdisplay of the supplemental information.

Also depicted in block 430 is optional block 4308 which provides forinstantiating the user interface as a pop-up display during acommunication interchange (e.g., processor 210 instantiating userinterface program 250 to display a pop-up display of the supplementalinformation on display 263 during a communication interchange). Thepop-up display could be for principal participant 102 and/or anotherparticipant such as third-party participant 104 during the communicationinterchange.

Also depicted in block 430 is optional block 4309 which provides forenabling the user interface to instantiate automatically on thecommunications device during a communication interchange (e.g.,processor 210 operating with user interface program 250 to instantiateautomatically on a communications device 106 or other device during acommunication interchange).

Coupled to block 430 is block 440 which provides for transmitting theidentifier from a service provider of a network to the communicationsdevice (e.g., network 297 transmitting identifier 262 to system 106 fromas service provider, such as telephone system 110). For example, in anembodiment, identifier 262 could be received over a network from aservice provider to system 106 when system 106 is functioning as acommunications device.

Those with skill in the computing arts will recognize that the disclosedembodiments have relevance to a wide variety of applications andarchitectures in addition to those described above. In addition, thefunctionality of the subject matter of the present application can beimplemented in software, hardware, or a combination of software andhardware. The hardware portion can be implemented using specializedlogic; the software portion can be stored in a memory or recordingmedium and executed by a suitable instruction execution system such as amicroprocessor.

While the subject matter of the application has been shown and describedwith reference to particular embodiments thereof, it will be understoodby those skilled in the art that the foregoing and other changes in formand detail may be made therein without departing from the spirit andscope of the subject matter of the application, including but notlimited to additional, less or modified elements and/or additional, lessor modified blocks performed in the same or a different order.

Those having skill in the art will recognize that the state of the arthas progressed to the point where there is little distinction leftbetween hardware and software implementations of aspects of systems; theuse of hardware or software is generally (but not always, in that incertain contexts the choice between hardware and software can becomesignificant) a design choice representing cost vs. efficiency tradeoffs.Those having skill in the art will appreciate that there are variousvehicles by which processes and/or systems and/or other technologiesdescribed herein can be effected (e.g., hardware, software, and/orfirmware), and that the preferred vehicle will vary with the context inwhich the processes and/or systems and/or other technologies aredeployed. For example, if implementer determines that speed and accuracyare paramount, the implementer may opt for a mainly hardware and/orfirmware vehicle; alternatively, if flexibility is paramount, theimplementer may opt for a mainly software implementation; or, yet againalternatively, the implementer may opt for some combination of hardware,software, and/or firmware. Hence, there are several possible vehicles bywhich the processes and/or devices and/or other technologies describedherein may be effected, none of which is inherently superior to theother in that any vehicle to be utilized is a choice dependent upon thecontext in which the vehicle will be deployed and the specific concerns(e.g., speed, flexibility, or predictability) of the implementer, any ofwhich may vary. Those skilled in the art will recognize that opticalaspects of implementations will typically employ optically-orientedhardware, software, and or firmware.

The foregoing detailed description has set forth various embodiments ofthe devices and/or processes via the use of block diagrams, flowcharts,and/or examples. Insofar as such block diagrams, flowcharts, and/orexamples contain one or more functions and/or operations, it will beunderstood by those within, the art that each function and/or operationwithin such block diagrams, flowcharts, or examples can be implemented,individually and/or collectively, by a wide range of hardware, software,firmware, or virtually any combination thereof. In one embodiment,several portions of the subject matter described herein may beimplemented via Application Specific Integrated Circuits (ASICs), FieldProgrammable Gate Arrays (FPGAs), digital signal processors (DSPs), orother integrated formats: However, those skilled in the art willrecognize that some aspects of the embodiments disclosed herein, inwhole or in part, can be equivalently implemented in integratedcircuits, as one or more computer programs running on one or morecomputers (e.g., as one or more programs running on one or more computersystems), as one or more programs running on one or more processors(e.g., as one or more programs running on one or more microprocessors),as firmware, or as virtually any combination thereof, and that designingthe circuitry and/or writing the code for the software and/or firmwarewould be well within the skill of one skilled in the art in light ofthis disclosure. In addition, those skilled in the art will appreciatethat the mechanisms of the subject matter described herein are capableof being distributed as a program product in a variety of forms, andthat an illustrative embodiment of the subject matter described hereinapplies regardless of the particular type of signal bearing medium usedto actually carry out the distribution. Examples of a signal bearingmedium include, but are not limited to, the following: a recordable typemedium such as a floppy disk, a hard disk drive, a Compact Disc (CD), aDigital Video Disk (DVD), a digital tape, a computer memory, etc.; and atransmission type medium such as is digital and/or an analogcommunication medium (e.g., a fiber optic cable, a waveguide, a wiredcommunications link, a wireless communication link, etc.)

The herein described subject matter sometimes illustrates differentcomponents contained within, or connected with, different othercomponents. It is to be understood that such depicted architectures aremerely exemplary and that in fact many other architectures can beimplemented which achieve the same functionality. In a conceptual sense,any arrangement of components to achieve the same functionality iseffectively “associated” such that the desired functionality isachieved. Hence, any two components herein combined to achieve aparticular functionality can be seen as “associated with” each othersuch that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected,” or“operably coupled,” to each other to achieve the desired functionality,and any two components capable of being so associated can also be viewedas being “operably couplable,” to each other to achieve the desiredfunctionality. Specific examples of operably couplable include but arenot limited to physically mateable and/or physically interactingcomponents and/or wirelessly interactable and/or wirelessly interactingcomponents and/or logically interacting and/or logically interactablecomponents.

Those skilled in the art will recognize that it is common within the artto implement devices and/or processes and/or systems in the fashion(s)set forth herein, and thereafter use engineering and/or businesspractices to integrate such implemented devices and/or processes and/orsystems into more comprehensive devices and/or processes and/or systems.That is, at least a portion of the devices and/or processes and/orsystems described herein can be integrated into comprehensive devicesand/or processes and/or systems via a reasonable amount ofexperimentation. Those having skill in the art will recognize thatexamples of such comprehensive devices and/or processes and/or systemsmight include—as appropriate to context and application—all or part ofdevices and/or processes and/or systems of (a) an air conveyance (e.g.,an airplane, rocket, hovercraft, helicopter, etc.), (b) a groundconveyance (e.g., a car, truck, locomotive, tank, armored personnelcarrier, etc.), (c) a building (e.g., a home, warehouse, office, etc.),(d) an appliance (e.g., a refrigerator, a washing machine, a dryer,etc.), (e) a communications system (e.g., a networked system, atelephone system, a Voice over IP system, etc.), (f) a business entity(e.g., an Internet Service Provider (ISP) entity such as Comcast Cable,Quest, Southwestern Bell, etc.); or (g) a wired/wireless services entitysuch as Sprint, Cingular, Nextel, etc.), etc.

Furthermore, it is to be understood that the invention is defined by theappended claims. It will be understood by those within the art that, ingeneral, terms used herein, and especially in the appended claims (e.g.,bodies of the appended claims) are generally intended as “open” terms(e.g., the term “including” should be interpreted as “including but notlimited to,” the term “having” should be interpreted as “having atleast,” the term “includes” should be interpreted as “includes but isnot limited to,” etc.). It will be further understood by those withinthe art that if a specific number of an introduced claim recitation isintended, such an intent will be explicitly recited in the claim, and inthe absence of such recitation no such intent is present. For example,as an aid to understanding, the following appended claims may containusage of the introductory phrases “at least one” and “one or more” tointroduce claim recitations. However, the use of such phrases should notbe construed to imply that the introduction of a claim recitation by theindefinite articles “a” or “an” limits any particular claim containingsuch introduced claim recitation to inventions containing only one suchrecitation, even when the same claim includes the introductory phrases“one or more” or “at least one” and indefinite articles such as “a” or“an” (e.g., “a” and/or “an” should typically be interpreted to mean “atleast one” or “one or more”); the same holds true for the use ofdefinite articles used to introduce claim recitations. In addition, evenif a specific number of an introduced claim recitation is explicitlyrecited, those skilled in the art will recognize that such recitationshould typically be interpreted to mean at least the recited numbere.g., the bare recitation of “two recitations,” without other modifiers,typically means at least two recitations, or two or more recitations).Furthermore, in those instances where a convention analogous to “atleast one of A, B, and C, etc.” is used, in general such a constructionis intended in the sense one having skill in the art would understandthe convention (e.g., “a system having at least one of A, B, and C”would include but not be limited to systems that have A alone, B alone,C alone, A and B together, A and C together, B and C together, and/or A,B, and C together, etc.). In those instances where a conventionanalogous to “at least one of A, B, or C, etc.” is used, in general sucha construction is intended in the sense one having skill in the artwould understand the convention (e.g., “a system having at least one ofA, B, or C” would include but not be limited to systems that have Aalone, B alone, C alone, A and B together, A and C together, B and Ctogether, and/or A, B, and C together, etc.). It will be furtherunderstood by those within the art that virtually any disjunctive wordand/or phrase presenting two or more alternative terms, whether in thedescription, claims, or drawings, should be understood to contemplatethe possibilities of including one of the terms, either of the terms, orboth terms. For example, the phrase “A or B” will be understood toinclude the possibilities of “A” or “B” or “A and B.”

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims.

We claim:
 1. A method for implementing an enhanced user interface for acommunication interchange, the method comprising: providing anidentifier associated with a third party participant related to thecommunication interchange; matching the identifier with the third-partyparticipant in a database storing one or more lists of possiblethird-party participants; obtaining context data associated with theidentifier regarding a group-type characteristic of the third-partyparticipant for purposes of communication interchange with at leastanother participant; and enabling a user interface to display thegroup-type characteristic.
 2. The method of claim 1, wherein theproviding an identifier associated with a third-party participantrelated to the communication interchange includes: providing theidentifier in a data packet over a communications network.
 3. The methodof claim 1, wherein the providing an identifier associated with athird-party participant related to the communication interchangeincludes: providing the identifier over a communications network duringone or more of a real-time voice conversation, a conference call, avoice mail access, an instant messaging session, an internet chatsession, a voice mail transfer, a voice mail interchange, a conversionof a voice mail to a text message:, and/or a conversion of a textmessage to a voice message.
 4. The method of claim 1, wherein theproviding an identifier associated with a third-party participantrelated to the communication interchange includes; providing theidentifier as a caller identifier (CID) over a communications network.5. The method of claim 1, wherein the matching the identifier with thethird-party participant in a database storing one or more lists ofpossible third-party participants includes: conveying an alphanumericmatching of the identifier including statistical probabilities for amatch from the database storing the one or more lists of possiblethird-peaty participants.
 6. The method of claim 1, wherein obtainingcontext data associated with the identifier regarding a group-typecharacteristic of the third-party participant for purposes ofcommunication interchange with at least another participant includes:generating the context data by extracting from the database one or moregroups of which the third party participant is a member.
 7. The methodof claim 6, wherein the generating the context data by extracting fromthe database one or more groups of which the third party participant isa member includes: extracting from the database the one or more groupsof which the third party participant is a member wherein the third partyparticipant is a sole member of a given group in the one or more groupsand/or the third party participant is one of a plurality of members of agiven group of the one or more groups.
 8. The method of claim 1, whereinthe obtaining context data associated with the identifier regarding agroup-type characteristic of the third-party participant for purposes ofcommunication interchange with at least another participant includes:generating the group-type characteristic of the third-party participantby searching one or more of the database storing one or more lists ofpossible third-party participants, a computing device coupled to one ormore participants of the communication interchange, and/or a servercoupled to the communications network.
 9. The method of claim 1, whereinthe obtaining context data associated with the identifier regarding agroup-type characteristic of the third-party participant for purposes ofcommunication interchange with at least another participant includes:displaying the context data associated with the identifier regarding thegroup-type characteristic of the third-party participant during amessage composition.
 10. The method of claim 1, wherein the obtainingcontext data associated with the identifier regarding a group-typecharacteristic of the third-party participant for purposes ofcommunication interchange with at least another participant includes;providing an option to allow display of the context data to the at leastanother participant of the communication interchange.
 11. The method ofclaim 10, wherein the providing an option to allow display of thecontext data to the at least another participant of the communicationinterchange includes: providing the option to allow display of thecontext data during one or more of a conference call, an internet chat,and/or a conversation over a mobile communication network.
 12. Themethod of claim 1, wherein obtaining context data associated with theidentifier regarding a group-type characteristic of the third-partyparticipant for purposes of communication interchange with at leastanother participant includes; generating the context data by extractingfrom the database one or more group-type characteristics shared by thethird-party participant and the at least another participant.
 13. Themethod of claim 12, wherein the generating the context data byextracting from the database one or more group-type characteristicsshared by the third-party participant and the at least anotherparticipant includes: extracting the one or more group-typecharacteristics shared by the third-party participant and the at leastanother participant including an indication of one or more of a familialrelationship, a work relationship, an educational relationship, acontact relationship, a sales relationship, a network relationship, anenvironmental relationship, a proximity relationship, a contraryrelationship, a religious relationship, a fiduciary relationship, and/ora political relationship.
 14. The method of claim 1, wherein theenabling a user interface to display the group-type characteristicincludes: instantiating the user interface as a pop-up display duringthe communication interchange.
 15. The method of claim 1, wherein theenabling a user interface to display the group-type characteristicincludes: enabling display of the group-type characteristic to the atleast another participant when the at least another participant is arecipient in the communication interchange.
 16. The method of claim 1,wherein the enabling a user interface to display the group-typecharacteristic includes: displaying the group-type characteristic to twoor more participants of the communication interchange.
 17. The method ofclaim 1, wherein the enabling a user interface to display the group-typecharacteristic includes: providing an interactive option to the userinterface to enable adding and/or commenting on the group-typecharacteristic.
 18. The method of claim 1, wherein the enabling a userinterface to display the group-type characteristic includes: enablingthe user interface to allow selectively generating the group-typecharacteristic from the context data.
 19. The method of claim 1, whereinthe enabling a user interface to display the group-type characteristicincludes: enabling the user interface to allow input of context data tothe database before and/or during and/or after the communicationinterchange.
 20. The method of claim 1, wherein the enabling a userinterface to display the group-type characteristic includes: enablingthe user interface to selectively generate the group-type characteristicfrom the context data.